Rust 是編譯語言,所以我們寫完程式碼都必須要先經過編譯,才會開始執行我們所寫的程式碼
每次寫完程式碼就要執行一次 rustc
這邊我們要介紹一個工具叫做 Cargo
就像是 js 的 npm 、 yarn 或者是 ruby 的 gem
除了可以編譯以外,還可以幫你載入需要的函示庫
只要你裝過 Rust ,就不需要再另外安裝 Cargo,我們在安裝 Rust 的過程中就把 Cargo 裝好囉
不過我們可以用以下指令來查看 Cargo 的版本
cargo --version
使用 Cargo 來建立專案,會產生 Cargo.toml
/ src
目錄 / target
目錄 / Cargo.lock
/ .gitignore
Cargo.toml
這裡面會記載著這個專案的基本資料,例如名稱是什麼、版號、以及使用的套件有哪些
src
裡面會有 main.rs ,也就是我們會在裡面寫程式碼的檔案
target
裡面會有編譯後的執行檔案
Cargo.lock
算是套件的紀錄檔,紀錄此專案使用了哪些套件
.gitignore
應該不需要我介紹,就是版控會用到的檔案
接下來我們就用 cargo 來建立專案
cargo new 專案名稱
建立完專案後,我們必須將專案的程式碼編譯,有兩種編譯指令,我們先來介紹第一個
cargo build
不過他只會編譯,並不會直接運行。
再來我們來看第二個
cargo run
這個不僅會幫你編譯,也會直接運行
不過他不會產生執行檔案
所以上述兩種的差異在於,是否有產生執行檔案以及是否會運作程式碼
如果不希望在 run 的時候噴錯,那我們可以用下列指令來檢查程式碼
cargo check
在 Rust 中,Crate 是一個編譯單元,
編譯單元可分為函式庫以及應用程式執行檔,
以一個新專案來說, main.rs 就是一個 Crate
在 Rust 中,我們會依照這個編譯單元,
編譯成一個可執行的檔案或者可以使用的函式庫。
要看這個 Crate 是函示庫還是應用程式執行檔,不過 Crate 的源頭會是一個原始碼檔案
如果是應用程式執行檔的話,是由二進位檔案組合而成,而且一定要在 main 的函式中執行
函式庫的話,可能會包含許多的模組,經過編譯後成為一個函式庫,可供應多個專案使用
剛有說到 Crate 可能會是應用程式執行檔或者是函式庫,且函式庫可被多個專案使用,所以函式庫可以去哪兒找呢?
我們可以到 crates.io 找,裡面放置了許多的函式庫以及套件可供開發者做使用
補充一下
cargo run =
cargo build
+ 執行編譯出來的執行檔
所以兩個指令都會產生執行檔喔,不過前提是專案是bin可執行的。
感謝補充